/**
 * ApifoxModel
 */
export interface ApifoxModel {
  data: Data;
}

export interface Data {
  albumDetailInfo: AlbumDetailInfo;
  albumMetaValueInfos: AlbumMetaValueInfo[];
  albumPayType: number;
  albumPayTypeUserMask: number;
  albumRichInfo: AlbumRichInfo;
  albumSubVipPayType: number;
  albumType: number;
  albumVipPayType: number;
  albumXimiVipPayType: number;
  anchorId: number;
  id: number;
  isSubscribe: boolean;
  typeSpecData: { [key: string]: any };
  userPermission: boolean;
}

export interface AlbumDetailInfo {
  albumInfo: AlbumInfo;
  id: number;
  pageUriInfo: PageUriInfo;
  statCountInfo: StatCountInfo;
}

export interface AlbumInfo {
  albumFinishTag?: number;
  albumPayType?: number;
  albumPreferTag?: number;
  albumTag?: number;
  albumType?: number;
  albumVipPayType?: number;
  albumWrap?: AlbumWrap;
  anchorId?: number;
  canNotCopyIntro?: boolean;
  categoryId?: number;
  communityId?: number;
  cover: string;
  createdTime?: number;
  customTitle?: string;
  discountedPrice?: string;
  id?: number;
  isSample?: boolean;
  isTimeLimitedAlbum?: boolean;
  isVipFirst?: boolean;
  iting?: string;
  paidVoiceAlterTemplateUrl?: string;
  price?: string;
  recommendReason?: string;
  salePoint: string;
  sellingPoint?: SellingPoint;
  shortIntro: string;
  title: string;
  updatedTime?: number;
}

export interface AlbumWrap {
  isWrap: boolean;
}

export interface SellingPoint {
  sp_contentValue: string;
  sp_feeling: string;
  sp_shortIntro: string;
}

export interface PageUriInfo {
  categoryCode: string;
  categoryId: number;
  categoryName: string;
  id: number;
  pinyin: string;
  url: string;
}

export interface StatCountInfo {
  id: number;
  playCount: number;
  subscribeCount: number;
  trackCount: number;
}

export interface AlbumMetaValueInfo {
  code: string;
  displayName: string;
  isSubCategory: boolean;
  metaDataId: number;
  metaValueId: number;
  name: string;
  url: string;
}

export interface AlbumRichInfo {
  bigshotRecommend: string;
  buyNotes: string;
  detailCoverPath: string;
  id: number;
  otherContent: string;
  otherTitle: string;
  outline: string;
  personalDescription: string;
  produceTeam: string;
  richIntro: string;
}

// 用户
/**
 * ApifoxModel
 */

export interface Context {
  basicRequestContext: BasicRequestContext;
}

export interface BasicRequestContext {
  isEmbedded3rdPartner: boolean;
  isHybrid: boolean;
  isKnowAmbassadorDistributor: boolean;
  isM2WapHost: boolean;
}

export interface userInfoData {
  id: number;
  statCountInfo: StatCountInfo;
  url: string;
  userInfo?: UserInfo;
}

export interface StatCountInfo {
  followerCount: number;
  id: number;
}

export interface UserInfo {
  anchorGrade: number;
  id: number;
  isLoginBan?: boolean;
  isVip: boolean;
  logo: string;
  mobileBackgroundPic?: string;
  nickname: string;
  personalSignature: string;
  personDescribe: string;
  ptitle: string;
  userGrade?: number;
  verifyStatus?: number;
  verifyType?: number;
}
